﻿using System;
using System.Collections.Generic;
using TaleWorlds.CampaignSystem.Party;
using TaleWorlds.CampaignSystem.Settlements;
using TaleWorlds.CampaignSystem.Siege;
using TaleWorlds.Core;
using TaleWorlds.Localization;
using TaleWorlds.SaveSystem;

namespace TaleWorlds.CampaignSystem.MapNotificationTypes
{
	// Token: 0x0200025E RID: 606
	public class SettlementUnderSiegeMapNotification : InformationData
	{
		// Token: 0x06001FD4 RID: 8148 RVA: 0x0008A4F6 File Offset: 0x000886F6
		internal static void AutoGeneratedStaticCollectObjectsSettlementUnderSiegeMapNotification(object o, List<object> collectedObjects)
		{
			((SettlementUnderSiegeMapNotification)o).AutoGeneratedInstanceCollectObjects(collectedObjects);
		}

		// Token: 0x06001FD5 RID: 8149 RVA: 0x0008A504 File Offset: 0x00088704
		protected override void AutoGeneratedInstanceCollectObjects(List<object> collectedObjects)
		{
			base.AutoGeneratedInstanceCollectObjects(collectedObjects);
			collectedObjects.Add(this.BesiegerParty);
			collectedObjects.Add(this.BesiegedSettlement);
		}

		// Token: 0x06001FD6 RID: 8150 RVA: 0x0008A525 File Offset: 0x00088725
		internal static object AutoGeneratedGetMemberValueBesiegerParty(object o)
		{
			return ((SettlementUnderSiegeMapNotification)o).BesiegerParty;
		}

		// Token: 0x06001FD7 RID: 8151 RVA: 0x0008A532 File Offset: 0x00088732
		internal static object AutoGeneratedGetMemberValueBesiegedSettlement(object o)
		{
			return ((SettlementUnderSiegeMapNotification)o).BesiegedSettlement;
		}

		// Token: 0x17000821 RID: 2081
		// (get) Token: 0x06001FD8 RID: 8152 RVA: 0x0008A53F File Offset: 0x0008873F
		public override TextObject TitleText
		{
			get
			{
				return new TextObject("{=siegeevent}Siege", null);
			}
		}

		// Token: 0x17000822 RID: 2082
		// (get) Token: 0x06001FD9 RID: 8153 RVA: 0x0008A54C File Offset: 0x0008874C
		public override string SoundEventPath
		{
			get
			{
				return "event:/ui/notification/settlement_under_siege";
			}
		}

		// Token: 0x17000823 RID: 2083
		// (get) Token: 0x06001FDA RID: 8154 RVA: 0x0008A553 File Offset: 0x00088753
		// (set) Token: 0x06001FDB RID: 8155 RVA: 0x0008A55B File Offset: 0x0008875B
		[SaveableProperty(10)]
		public MobileParty BesiegerParty { get; private set; }

		// Token: 0x17000824 RID: 2084
		// (get) Token: 0x06001FDC RID: 8156 RVA: 0x0008A564 File Offset: 0x00088764
		// (set) Token: 0x06001FDD RID: 8157 RVA: 0x0008A56C File Offset: 0x0008876C
		[SaveableProperty(20)]
		public Settlement BesiegedSettlement { get; private set; }

		// Token: 0x06001FDE RID: 8158 RVA: 0x0008A575 File Offset: 0x00088775
		public SettlementUnderSiegeMapNotification(SiegeEvent siegeEvent, TextObject descriptionText) : base(descriptionText)
		{
			this.BesiegerParty = siegeEvent.BesiegerCamp.LeaderParty;
			this.BesiegedSettlement = siegeEvent.BesiegedSettlement;
		}
	}
}
